/*
 *  IOPackTransport.h
 *  RunSketch
 *
 *  Created by Brian on 9/5/09.
 *  Copyright 2009 Tellart. All rights reserved.
 *
 */

#define kDeviceAddressSchemeRemote @"remote"
#define kDeviceAddressSchemeLocal @"local"

@protocol IOPackTransport<NSObject>

@property (nonatomic, retain, readonly) NSString *deviceAddress;
- (int)numOutputChannels;
- (int)numInputChannels;
- (BOOL)isConnectedAndReady;
- (BOOL)isReadable;
- (BOOL)isWritable;
/*
- (int)readData:(NSMutableData*)data;
- (int)readDataAndReplace:(NSMutableData*)data;
*/
- (int)read;
- (BOOL)writeData:(NSData*)data;

- (char*)readBuffer;


@end
